Students will be familiar with and use a programming environment. Objective 110201-0101
Demonstrate knowledge of external and internal computer hardware.
· Describe the functions of basic computer hardware devices (monitor, system board, printer, CD-ROM drive, hard drive, floppy drive, keyboard, mouse, adapters, ports, other devices).
· Describe the functions of the internal components of computers (CPU, RAM, ROM, registers, ALU).
· Translate to and from binary code (Computer number systems).
Objective 110201-0102
Demonstrate knowledge of software concepts.
· Define computer software.
· Explain the process of software installation.
Objective 110201-0103
Develop the ability to use a current operating system.
· Demonstrate how to load, save and back up files.
· Demonstrate how to rename and delete files.
· Demonstrate how to move, copy and compress files.
· Demonstrate how to display and print files.
· Demonstrate the ability to manage files on a PC and network.
o Create Folders
o Create and use appropriate directory and path structures
o Copy files between folders
o Understand the organization of files on a hard drive and a network
· Demonstrate how to execute a program.
Objective 110201-0104
Demonstrate the ability to use the editor to enter programs.
· Demonstrate how to enter text and commands.
· Illustrate the process of selecting a block of text.
· Demonstrate how to move blocks of text.
· Demonstrate how to copy blocks of text.
· Explain how to delete blocks of text.
Objective 110201-0105
Demonstrate the ability to compile, debug and execute programs.
· Demonstrate how to use the editor to compile and run programs.
· Understand the difference between syntax, run-time, and login errors.
· Demonstrate how to debug programs.
Standard 110201-02
Students will employ accepted programming methodology. Objective 110201-0201
Demonstrate the ability to use good programming style.
· Demonstrate how to use white space properly.
· Employ the use of case-sensitive commands for clarity.
· Construct programs with meaningful identifiers.
Objective 110201-0202
Employ the proper steps to programming in order.
· Prepare specifications for computer programs.
· Design solutions using computer programs.
· Develop the code for a program.
· Test programs for effectiveness and completeness.
· Provide full documentation for a program.
Objective 110201-0203
Employ proper program design process.
· Use step-wise refinement (top-down design) in programming.
· Employ program modularity in writing programs.
· Produce logical algorithms to solve problems with a computer program.
Objective 110201-0204
Demonstrate the ability to program for automatic error checking (robustness).
· Explain how to protect program execution from incorrect input.
· Describe how to protect program execution from run-time errors.
· Employ verification to protect program results from logic errors.
Standard 110201-03
Students will properly use language-fundamental commands and operations. Objective 110201-0301
Demonstrate the ability to use basic elements of a specific language
· Write programs using a language-specific template.
· Declare and assign values to constants and variables in programs.
· Employ arithmetic expression in programs.
· Output text with formatting.
· Demonstrate the ability to use input/output commands in programs.
· Demonstrate how to pause programs in order to view the output.
· Input values into identifiers. Output values stored in identifiers.
Standard 110201-04
Students will properly employ control structures. Objective 110201-0401
Demonstrate the ability to use relational and logical operators in programs.
· Compare values using relational operators.
· Form complex expressions using logical operators.
· Demonstrate how to use operator overloading (C++ and Java).
Objective 110201-0402
Demonstrate the ability to use decisions in programs.
· Employ simple IF structures.
· Use IF-ELSE structures.
· Write programs with nested IF-ELSE structures.
· Make multiple-way selections (switch, case).
Objective 110201-0403
Demonstrate the ability to use loops in programs.
· Use initial, terminal, and incremental values in loops.
· Construct both pre-test and post-test loops.
· Demonstrate how to use counted loops.
· Describe the use of flagged (sentinel-controlled) loops.
· Utilize nested loops.
· Explain how to avoid infinite loops.
· Accumulate running totals using loops.
Objective 110201-0404
Demonstrate the ability to use sub-programs in programs.
· Demonstrate how to use language-predefined sub-programs.
· Call sub-programs.
· Develop sub-programs.
· Send to and retrieve data from sub-programs.
· Utilize value, constant, and reference parameters.
· Understand the scope of identifiers in sub-programs.
Standard 110201-05
Students will employ proper static data structures. Objective 110201-0501
Demonstrate the ability to use simple data types in programs.
· Declare and use integer identifiers.
· Declare and use character identifiers.
· Declare and use floating point (real) identifiers.
· Declare and use Boolean identifiers.
· Declare and use constants.
Objective 110201-0502
Demonstrate the ability to use static arrays in programs.
· Declare arrays of all applicable types.
· Initialize arrays.
· Input data into arrays.
· Output data from arrays.
· Perform operations on arrays.
· Perform sequential searches on arrays.
· Perform a quadratic sort on an array.
· Utilize multidimensional arrays.
Objective 110201-0503
Demonstrate the ability to use strings in programs.
· Declare string identifier.
· Input string identifiers.
· Output string identifiers.
· Compare string identifiers.
· Find the length of a string.
· Copy part or all of string identifiers into other strings.
· Concatenate string identifiers.
· Locate and delete sub-string positions.
· Insert strings into other strings.
Standard 110201-06
Students will properly employ object-oriented programming techniques. Objective 110201-0601
Demonstrate the ability to use classes.
· Use objects.
· Use object data members.
· Use object member functions (methods).
Objective 110201-0602
Demonstrate the ability to create and use user-defined classes.
· Create and use user-defined data members.
· Create and use user-defined methods.
Standard 110201-07
Students will properly use sequential files. Objective 110201-0701
Demonstrate the ability to use sequential files in programs.
· Create and initialize sequential files.
· Store data to sequential files.
· Retrieve data from sequential files.
· Update sequential files.
Standard 110201-08
Students will apply appropriate programming skill as an effective member of a team. Objective 110201-0801
Demonstrate the ability to apply knowledge to a programming project.
· Formalize specifications.
· Choose proper input parameters.
· Choose appropriate data structures and processing.
· Design appropriate output.
· Use appropriate test data.
· Write good documentation.
Objective 110201-0802
Demonstrate the ability to use teamwork and collaboration in a programming project.
· Divide a project among programmers.
· Present work to a group.
· Coordinate work with others in the group.
· Complete assigned work according to predetermined deadlines.
· Participate in a peer performance evaluation.
· Demonstrate professionalism in team relationships, communication, timeliness, and attitude.
Standard 110201-09
Students will demonstrate knowledge of current ethical issues dealing with computers and information in society. Objective 110201-0901
Demonstrate knowledge of programmer ethics.
· Show knowledge of the importance of correct programming.
· Check for program correctness using verification.
· Know proper and improper standards in programming.
Objective 110201-0902
Demonstrate knowledge of the social and ethical consequences of computers.
· Describe how computer-controlled automation affects workers and management.
· Explain the ramifications of society's dependence on computers.
· Identify advantages and disadvantages of changing workplace environments.
Objective 110201-0903
Demonstrate knowledge of the right to privacy.
· Explain how computers can compromise privacy.
· Exhibit knowledge of privacy laws.
· Describe responsibilities of people who control computer information.
Objective 110201-0904
Demonstrate knowledge of computer, information and software security.
· Exhibit knowledge of copyright laws.
· Explain how computers can be used to compromise copyright laws.
· Give examples of ways to protect information on computer systems.
· Identify ways to protect against computer viruses.
Standard 110201-10
Students will develop an awareness of career opportunities in the Computer Programming/Software Engineering industry and of its history. Objective 110201-1001
Develop career awareness related to working in the Computer Programming/Software Engineering industry.
· Identify personal interests and abilities related to Computer Programming/Software Engineering careers
o Identify personal creative talents
o Identify technical/programming talents
o Identify organizational and leadership skills
o Explore aptitude for innovation
o Determine aptitude for working as a member of a Computer Programming/Software Engineering team
· Identify Computer Science career fields Software Engineer
o Software Engineer
o Systems Analyst
o Applications Programmer (Gaming, Multimedia Etc.)
· Investigate career opportunities, trends, and requirements related to Computer Programming/Software Engineering careers Identify the members of a Computer Programming/Software Engineering team: Team Leader, Analyst, Sr. Developer, Jr. Developer, and Client/Subject Matter Expert
o Identify the members of a Computer Programming/Software Engineering team: Team Leader, Analyst, Sr. Developer, Jr. Developer, and Client/Subject Matter Expert
o Describe work performed by each member of the Computer Programming/Software Engineering team
o Investigate trends associated with Computer Programming/Software Engineering careers
o Develop a realistic Student Education Occupation Plan (SEOP) to help guide further educational pursuits
· Identify factors for employability and advancement in Computer Programming/Software Engineering careers Survey existing Computer Programming/Software Engineering businesses to determine what training is required
o Survey existing Computer Programming/Software Engineering businesses to determine what training is required
o Survey universities and colleges to determine higher education options
o Develop employability competencies/characteristics: responsibility, dependability, respect, and cooperation
o Achieve high standards of personal performance
o Develop a positive work ethic
o Compile a portfolio of the individual and group programs developed during the course
· Discuss relevant history of computer technology and the Computer Programming/Software Engineering industry.
Standard Prior to 2006
New revised standards 1A & 1B
Computer Programming I – Full Year
Standard 110201-01
Students will be familiar with and use a programming environment.Objective 110201-0101
Demonstrate knowledge of external and internal computer hardware.
· Describe the functions of basic computer hardware devices (monitor, system board, printer, CD-ROM drive, hard drive, floppy drive, keyboard, mouse, adapters, ports, other devices).
· Describe the functions of the internal components of computers (CPU, RAM, ROM, registers, ALU).
· Translate to and from binary code (Computer number systems).
Objective 110201-0102
Demonstrate knowledge of software concepts.
· Define computer software.
· Explain the process of software installation.
Objective 110201-0103
Develop the ability to use a current operating system.
· Demonstrate how to load, save and back up files.
· Demonstrate how to rename and delete files.
· Demonstrate how to move, copy and compress files.
· Demonstrate how to display and print files.
· Demonstrate the ability to manage files on a PC and network.
o Create Folders
o Create and use appropriate directory and path structures
o Copy files between folders
o Understand the organization of files on a hard drive and a network
· Demonstrate how to execute a program.
Objective 110201-0104
Demonstrate the ability to use the editor to enter programs.
· Demonstrate how to enter text and commands.
· Illustrate the process of selecting a block of text.
· Demonstrate how to move blocks of text.
· Demonstrate how to copy blocks of text.
· Explain how to delete blocks of text.
Objective 110201-0105
Demonstrate the ability to compile, debug and execute programs.
· Demonstrate how to use the editor to compile and run programs.
· Understand the difference between syntax, run-time, and login errors.
· Demonstrate how to debug programs.
Standard 110201-02
Students will employ accepted programming methodology.Objective 110201-0201
Demonstrate the ability to use good programming style.
· Demonstrate how to use white space properly.
· Employ the use of case-sensitive commands for clarity.
· Construct programs with meaningful identifiers.
Objective 110201-0202
Employ the proper steps to programming in order.
· Prepare specifications for computer programs.
· Design solutions using computer programs.
· Develop the code for a program.
· Test programs for effectiveness and completeness.
· Provide full documentation for a program.
Objective 110201-0203
Employ proper program design process.
· Use step-wise refinement (top-down design) in programming.
· Employ program modularity in writing programs.
· Produce logical algorithms to solve problems with a computer program.
Objective 110201-0204
Demonstrate the ability to program for automatic error checking (robustness).
· Explain how to protect program execution from incorrect input.
· Describe how to protect program execution from run-time errors.
· Employ verification to protect program results from logic errors.
Standard 110201-03
Students will properly use language-fundamental commands and operations.Objective 110201-0301
Demonstrate the ability to use basic elements of a specific language
· Write programs using a language-specific template.
· Declare and assign values to constants and variables in programs.
· Employ arithmetic expression in programs.
· Output text with formatting.
· Demonstrate the ability to use input/output commands in programs.
· Demonstrate how to pause programs in order to view the output.
· Input values into identifiers. Output values stored in identifiers.
Standard 110201-04
Students will properly employ control structures.Objective 110201-0401
Demonstrate the ability to use relational and logical operators in programs.
· Compare values using relational operators.
· Form complex expressions using logical operators.
· Demonstrate how to use operator overloading (C++ and Java).
Objective 110201-0402
Demonstrate the ability to use decisions in programs.
· Employ simple IF structures.
· Use IF-ELSE structures.
· Write programs with nested IF-ELSE structures.
· Make multiple-way selections (switch, case).
Objective 110201-0403
Demonstrate the ability to use loops in programs.
· Use initial, terminal, and incremental values in loops.
· Construct both pre-test and post-test loops.
· Demonstrate how to use counted loops.
· Describe the use of flagged (sentinel-controlled) loops.
· Utilize nested loops.
· Explain how to avoid infinite loops.
· Accumulate running totals using loops.
Objective 110201-0404
Demonstrate the ability to use sub-programs in programs.
· Demonstrate how to use language-predefined sub-programs.
· Call sub-programs.
· Develop sub-programs.
· Send to and retrieve data from sub-programs.
· Utilize value, constant, and reference parameters.
· Understand the scope of identifiers in sub-programs.
Standard 110201-05
Students will employ proper static data structures.Objective 110201-0501
Demonstrate the ability to use simple data types in programs.
· Declare and use integer identifiers.
· Declare and use character identifiers.
· Declare and use floating point (real) identifiers.
· Declare and use Boolean identifiers.
· Declare and use constants.
Objective 110201-0502
Demonstrate the ability to use static arrays in programs.
· Declare arrays of all applicable types.
· Initialize arrays.
· Input data into arrays.
· Output data from arrays.
· Perform operations on arrays.
· Perform sequential searches on arrays.
· Perform a quadratic sort on an array.
· Utilize multidimensional arrays.
Objective 110201-0503
Demonstrate the ability to use strings in programs.
· Declare string identifier.
· Input string identifiers.
· Output string identifiers.
· Compare string identifiers.
· Find the length of a string.
· Copy part or all of string identifiers into other strings.
· Concatenate string identifiers.
· Locate and delete sub-string positions.
· Insert strings into other strings.
Standard 110201-06
Students will properly employ object-oriented programming techniques.Objective 110201-0601
Demonstrate the ability to use classes.
· Use objects.
· Use object data members.
· Use object member functions (methods).
Objective 110201-0602
Demonstrate the ability to create and use user-defined classes.
· Create and use user-defined data members.
· Create and use user-defined methods.
Standard 110201-07
Students will properly use sequential files.Objective 110201-0701
Demonstrate the ability to use sequential files in programs.
· Create and initialize sequential files.
· Store data to sequential files.
· Retrieve data from sequential files.
· Update sequential files.
Standard 110201-08
Students will apply appropriate programming skill as an effective member of a team.Objective 110201-0801
Demonstrate the ability to apply knowledge to a programming project.
· Formalize specifications.
· Choose proper input parameters.
· Choose appropriate data structures and processing.
· Design appropriate output.
· Use appropriate test data.
· Write good documentation.
Objective 110201-0802
Demonstrate the ability to use teamwork and collaboration in a programming project.
· Divide a project among programmers.
· Present work to a group.
· Coordinate work with others in the group.
· Complete assigned work according to predetermined deadlines.
· Participate in a peer performance evaluation.
· Demonstrate professionalism in team relationships, communication, timeliness, and attitude.
Standard 110201-09
Students will demonstrate knowledge of current ethical issues dealing with computers and information in society.Objective 110201-0901
Demonstrate knowledge of programmer ethics.
· Show knowledge of the importance of correct programming.
· Check for program correctness using verification.
· Know proper and improper standards in programming.
Objective 110201-0902
Demonstrate knowledge of the social and ethical consequences of computers.
· Describe how computer-controlled automation affects workers and management.
· Explain the ramifications of society's dependence on computers.
· Identify advantages and disadvantages of changing workplace environments.
Objective 110201-0903
Demonstrate knowledge of the right to privacy.
· Explain how computers can compromise privacy.
· Exhibit knowledge of privacy laws.
· Describe responsibilities of people who control computer information.
Objective 110201-0904
Demonstrate knowledge of computer, information and software security.
· Exhibit knowledge of copyright laws.
· Explain how computers can be used to compromise copyright laws.
· Give examples of ways to protect information on computer systems.
· Identify ways to protect against computer viruses.
Standard 110201-10
Students will develop an awareness of career opportunities in the Computer Programming/Software Engineering industry and of its history.Objective 110201-1001
Develop career awareness related to working in the Computer Programming/Software Engineering industry.
· Identify personal interests and abilities related to Computer Programming/Software Engineering careers
o Identify personal creative talents
o Identify technical/programming talents
o Identify organizational and leadership skills
o Explore aptitude for innovation
o Determine aptitude for working as a member of a Computer Programming/Software Engineering team
· Identify Computer Science career fields Software Engineer
o Software Engineer
o Systems Analyst
o Applications Programmer (Gaming, Multimedia Etc.)
· Investigate career opportunities, trends, and requirements related to Computer Programming/Software Engineering careers Identify the members of a Computer Programming/Software Engineering team: Team Leader, Analyst, Sr. Developer, Jr. Developer, and Client/Subject Matter Expert
o Identify the members of a Computer Programming/Software Engineering team: Team Leader, Analyst, Sr. Developer, Jr. Developer, and Client/Subject Matter Expert
o Describe work performed by each member of the Computer Programming/Software Engineering team
o Investigate trends associated with Computer Programming/Software Engineering careers
o Develop a realistic Student Education Occupation Plan (SEOP) to help guide further educational pursuits
· Identify factors for employability and advancement in Computer Programming/Software Engineering careers Survey existing Computer Programming/Software Engineering businesses to determine what training is required
o Survey existing Computer Programming/Software Engineering businesses to determine what training is required
o Survey universities and colleges to determine higher education options
o Develop employability competencies/characteristics: responsibility, dependability, respect, and cooperation
o Achieve high standards of personal performance
o Develop a positive work ethic
o Compile a portfolio of the individual and group programs developed during the course
· Discuss relevant history of computer technology and the Computer Programming/Software Engineering industry.